home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Turnbull China Bikeride
/
Turnbull China Bikeride - Disc 2.iso
/
BARNET
/
COMPILER
/
GUAVAC
/
!Guavac
/
doc
/
RO-FAQ
< prev
next >
Wrap
Text File
|
1998-05-30
|
7KB
|
188 lines
This is the Risc OS guavac FAQ
Peter Naulls, May 30th, 1998
pnaulls@usa.net
guavac refers to the Acorn Risc OS port of guavac, a Java source compiler,
distributed under a GNU license, and ported by myself to Risc OS.
The version referred to by this FAQ is 1.0, Risc OS release 1.2.
guavac is sometimes also referred to as !Guavac.
!Java refers to Acorn's 1.0.2 port of Sun's JVM to Risc OS.
javac is the Java compiler as distributed as part of Sun's Java
Development Kit.
1. Who's responsible for errors and emmisions in this FAQ?
2. Where can I get the latest version of guavac from?
3. I'm using Risc OS 3.5 or 3.6 and guavac complains "Cannot allocate memory".
4. Why does guavac complain "No writable memory at this address"?
5. guavac says my source file is not a plain file or invalid source file,
what's wrong?
6. I've compiled my program, but !Java says it can't find my class, what's
going wrong?
7. What is the format of the Java$ClassPath variable, and when do I need
to set it?
8. Why will javac compile some things, but not guavac?
9. Why will guavac compile some things, but not javac?
10. Why doesn't guavac do <<insert Risc OS bug/feature>>?
11. Why doesn't throwback work?
12. Is there a multi-tasking front end to guavac?
13. What's a good book on to learn Java from?
14. What other Risc OS Java-related programs are available?
15. Where can I find more Risc OS related Java programming information?
1. Who's responsible for errors and emmisions in this FAQ?
A. I (Peter Naulls) take full responsibilty, and no blame should be
placed on employees of Acorn or Sun Microsystems. Corrections and
additions are of course gratefully received.
2. Where can I get the latest version of guavac from?
A. The Risc OS guavac homepage is: http://chocky.home.ml.org/java/guavac/
guavac (although not always the most recent version), may be found
at ftp://freenet.barnet.ac.uk/pub/Acorn/compilers/.
3. I'm using Risc OS 3.5 or 3.6 and guavac complains "Cannot allocate memory".
A. For various reasons, guavac C uses Unixlib. For various other reasons,
Unxilib requires the use of the CallASWI module for certain operations.
CallASWI is built into Risc OS 3.7, but not previous versions and must
be loaded for guavac to operate. In short, obtain a patch from
the Risc OS guavac homepage if you having this proglem.
4. Why does guavac complain "No writable memory at this address"?
A. The guavac executable requires 3Mb of memory. You need to increase
your wimpslot to this. If you are using a pre-Risc PC, you will need
more, since guavac will be unable to use dynamic areas for its heap.
5. guavac says my source file is not a plain file or invalid source file,
what's wrong?
A. Firstly, make sure you have the newest version of guavac - release 1
has difficulty finding files in the CSD. Otherwise, guavac can't find
your file, or you've used an illegal format for the filename. If you
don't specify a full Risc OS path, guavac will look in the CSD. Java
source files as understood by guavac must be either file/java or
java.file, where 'java.' in the second example is a directory. For
the first format, you can give either of:
guavac file.java
or
guavac file/java
In the second, you must have:
guavc java.file
for it to be found.
6. I've compiled my program, but !Java says it can't find my class, what's
going wrong?
A. Acorn's Java is very picky about what it will do with Java classes. It
will complain when:
(a) The file !Java.lib.ClassesZip is an image file (change the filetype to
a textfile)
(b) The Java class does not have a "/class" extension (or as much as
will fit into a Risc OS filename). This means you will want to
use the guavac -ext flag.
(c) The class you compiled was declared as public. When you do this,
the filename must be the same as the class's name. If you rename it
for whatever reason, !Java will complain.
7. What is the format of the Java$ClassPath variable, and when do I need
to set it?
A. Firstly, you won't need to set this unless you are doing something
unusual (this also applies to the -classpath flag). If you do need
to set it, then the format is simply the full Risc OS path, although
you can use a Unix type path if you need to. Note that !Java sets this
variable to point to !Java.lib.ClassesZip, and guavac will use this.
8. Why will javac compile some things, but not guavac?
A. There are somethings that guavac does not handle well (have a look at
!Guavac.doc.TODO) The best example is circular dependencies between classes.
A fix for this problem is to first compile a "minimal" version of one
of the two circular classes, then compile the second and finally
the full version of the first class.
9. Why will guavac compile some things, but not javac?
A. You're probably trying to compile Java 1.1 things like inner classes,
which are not supported in Java 1.0.2.
10. Why doesn't guavac do <<insert Risc OS bug/feature>>?
A. Maybe it's a bug in either the port or the program itself. Please
contact me with details, and if possible, the smallest amount
of Java source that reproduces the problem. It may also be helpful
to know details of machine and OS. If it looks like a "proper"
guavac bug rather than a Risc OS related one, try asking on the
guavac mailing list (see !Guavac.doc.NEWS for details).
11. Why doesn't throwback work?
A. You need to have the DDEUtils module loaded for throwback to work,
and you will need a throwback-capable editor running such as StrongED
or Zap.
12. Is there a multi-tasking front end to guavac?
A. Yes, one is included which uses Acorn's FrontEnd, which will run
when you double click on !Guavac. I believe there are some others
around too.
13. What's a good book on to learn Java from?
A. Try to get one that supports Java 1.1. Some good books are:
"Java in a Nutshell" and "Special Edition Using Java".
14. What other Risc OS Java-related programs are available?
A. Acorn's !Java, D-Java, a free Java bytecode dissasembler, ported by myself,
Chockcino (not yet released) my Java 1.1 Virtual machine.
See http://chocky.home.ml.org/java/ for information on D-Java and
Chockcino. Don't forget my StrongED Java mode either, which
has a function to launch to guavac http://chocky.home.ml.org/software/
15. Where can I find more Risc OS related Java programming information?
A. The Acorn newsgroups. In pariticular, comp.sys.acorn.programmer.
You might also like to read my monthly series on Java programming
in RISC User.
Acorn's Java FAQ:
http://www.acorn.com/browser/faq/java.html
Octopus Systems maintains a Java FAQ also:
http://www.octosys.co.uk/java.html